Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(linux): update wiki to add VK_ICD_FILENAMES fix for nvidia #2655

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

DillonHHH
Copy link

This should hopefully fix issue #2014 for nvidia users. Tested on my system and it works perfectly now after adding VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.x86_64.json, completely fixing the encoder errors.

Comment on lines +92 to +95
`__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.x86_64.json ~/.local/share/Steam/steamapps/common/SteamVR/bin/vrmonitor.sh %command%`

- Again, adjust vrmonitor path to your distro
- Go to `/usr/share/vulkan/icd.d` and make sure `nvidia_icd.x86_64.json` exists. It may also be under the name `nvidia_icd.json`, in which case you should adjust `VK_ICD_FILENAMES` accordingly.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you should put nvidia_icd.json by default because it's that on arch and a lot more people use arch for gaming fwiw. Also because I think it's a bit more neutral in the general sense.
Btw sorry for this taking so long, I was really busy.

Also @Meister1593 do you think we should always put the VK_ICD_FILENAMES into the main thing and not have a second paragraph about adding it, like we do in the dashboard?

@The-personified-devil
Copy link
Collaborator

Also see #2499, I rejected that in the past because I thought the other options always worked and this was just less reliable, but it seems they just stopped working at a certain driver version. But VK_DRIVER_FILES is supposed to replace VK_ICD_FILENAMES so perhaps using that is a good idea.

@gabriele2000
Copy link

gabriele2000 commented Feb 9, 2025

All of this huge change is pointless.
Just run ALVR with VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json or whatever.
No need for __NV_PRIME_RENDER_OFFLOAD, __VK_LAYER_NV_optimus or __GLX_VENDOR_LIBRARY_NAME.

It's just redundant.

I run ALVR with VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json and the only change I have to make in in SteamVR commands, putting ~/.local/share/Steam/steamapps/common/SteamVR/bin/vrmonitor.sh %command%, that's it.

No VK_ICD_FILENAMES and endless tinkering for everything that you run in SteamVR.

I also let ALVR start Steam and SteamVR.
One change to rule it all.

@The-personified-devil
Copy link
Collaborator

I run ALVR with VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json and the only change I have to make in in SteamVR commands, putting ~/.local/share/Steam/steamapps/common/SteamVR/bin/vrmonitor.sh %command%, that's it.

Except most people have steam running independently of alvr and this is guaranteed to be applied when people restart steamvr. Because steam likes to go into the background it's really easy to not actually restart steam to carry through that environment variable.

No need for __NV_PRIME_RENDER_OFFLOAD, __VK_LAYER_NV_optimus or __GLX_VENDOR_LIBRARY_NAME.

With the VK_ICD_FILENAMES change __VK_LAYER_NV_optimus becomes useless, sure, but the GLX and PRIME don't become fully obsolete because opengl stuff still needs to get handled independent of vulkan.
Now I don't know if steamvr contains opengl stuff or ever did, but if you have an opengl game it's definitely still necessary.
Since there's basically no way it can break stuff if opengl isn't used it's easiest to just paste the whole thing around and have it be consistent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants